95fcee17e06527f2b9bce63e45d6bb03873902ec,cassandra-scheduler/src/test/java/com/mesosphere/dcos/cassandra/scheduler/plan/CassandraDaemonBlockTest.java,CassandraDaemonBlockTest,testStartTerminated,#,184
Before Change
@Test
public void testStartTerminated() throws Exception {
final CassandraContainer cassandraContainer = Mockito.mock(CassandraContainer.class);
final String EXPECTED_NAME = "node-0";
when(cassandraTasks.getOrCreateContainer(EXPECTED_NAME)).thenReturn(cassandraContainer);
when(cassandraTasks.needsConfigUpdate(Mockito.any())).thenReturn(false);
CassandraDaemonBlock block = CassandraDaemonBlock.create(
EXPECTED_NAME, persistentOfferRequirementProvider, cassandraTasks, client);
when(cassandraContainer.getAgentId()).thenReturn("1234");
when(cassandraContainer.isTerminated()).thenReturn(true);
final CassandraDaemonTask mockDaemonTask = Mockito.mock(CassandraDaemonTask.class);
when(cassandraContainer.getDaemonTask()).thenReturn(mockDaemonTask);
when(cassandraTasks.replaceDaemon(mockDaemonTask)).thenReturn(mockDaemonTask);
final Protos.TaskInfo mockTaskInfo = Protos.TaskInfo.getDefaultInstance();
when(mockDaemonTask.getTaskInfo()).thenReturn(mockTaskInfo);
final OfferRequirement mockOR = Mockito.mock(OfferRequirement.class);
when(persistentOfferRequirementProvider.getReplacementOfferRequirement(any())).thenReturn(mockOR);
After Change
@Test
public void testStartTerminated() throws Exception {
final String EXPECTED_NAME = "node-0";
CassandraDaemonBlock block = CassandraDaemonBlock.create(EXPECTED_NAME,
persistentOfferRequirementProvider, cassandraTasks, client);
final OfferRequirement mockOfferReq = Mockito.mock(OfferRequirement.class);
when(persistentOfferRequirementProvider.getNewOfferRequirement(Mockito.any())).thenReturn(mockOfferReq);
OfferRequirement offerRequirement = block.start();
Assert.assertNotNull(offerRequirement);
final CassandraDaemonTask task = CassandraDaemonTask.create(EXPECTED_NAME,
"abc",
CassandraTaskExecutor.create("1234", EXPECTED_NAME, "cassandra-role", "cassandra-principal",
config.getExecutorConfig()),
config.getCassandraConfig());
Protos.TaskInfo taskInfo = task.getTaskInfo();
taskInfo = Protos.TaskInfo.newBuilder(taskInfo)
.setSlaveId(Protos.SlaveID.newBuilder().setValue("1.2.3.4").build()).build();
stateStore.storeTasks(Arrays.asList(taskInfo));
final Protos.TaskStatus status = TestUtils.generateStatus(taskInfo.getTaskId(),
Protos.TaskState.TASK_FAILED);
stateStore.storeStatus(status);
when(persistentOfferRequirementProvider.getReplacementOfferRequirement(any())).thenReturn(mockOfferReq);
offerRequirement = block.start();
Assert.assertEquals(mockOfferReq, offerRequirement);